Typically, signals, such as audio or video signals, may be provided as variable bit rate (VBR) or constant bit rate (CBR) bitstreams. CBR bitstreams are particularly common in many broadcasting applications as the constant bit rate allows for predictable consumption of bandwidth in one or more channels. While quality of the provided signal may vary, for example in video scenes where a lot of motion is present, this variation has been deemed acceptable in light of the advantages of maintaining a relatively steady bit rate. As CBR bitstreams are often used for streaming applications that require real-time rate control, encoders employing CBR methods often must use predictive and/or recursive methods to ensure that provided bitstreams remain within desired rate limitations.
Several methods have been utilized to provide a bitstream at a targeted bit rate. Bitstuffing, for example, has been used to ensure that a bitstream maintains a constant bit rate. This involves inserting data unrelated to a video signal into the bitstream. Once received, the stuffing data may be removed to recover the video signal. Rate-distortion optimization is another technique that has been used to maintain a constant bit rate. By selecting a particular quantization parameter, the amount of loss of signal quality incurred when quantizing coefficients of a residual may be controlled such that the bit rate may be controlled.